package org.hawk.gwtppc.webtest.tests.mock;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.RandomAccess;

public class GenericClassMock<X1 extends CharSequence & RandomAccess, X2, X3> extends ArrayList<Map<String, ? extends Number>> 
		implements GenericInterfaceMock1<String, Integer>, GenericInterfaceMock2<Object, List<? super Integer>> {
	private static final long serialVersionUID = 3683938281061816288L;
	
	X2 genericField;
	
	protected <J extends List<?> & RandomAccess> GenericClassMock(J j, X1 x1, X2 x2, X3 x3) {
	}
	
	<J extends List<?> & RandomAccess> GenericClassMock(J...js) {
		
	}
	
	public <T> T getSomeValue(X3 a, X2 b, Class<T> cls) {
		return null;
	}
	
	public <T> T[] getArray(String name, T...array) {
		return array;
	}
	
	protected Object getOtherValue(X1 a) {
		return null;
	}
	
	protected <T1 extends CharSequence, T2 extends RandomAccess & Serializable> T1 getThirdValue(T1 a, T2 b) {
		return a;
	}
}
